﻿/************************************************************************
** 文  件：
**	AlarmInfo.h
** 功  能：
**	报警信息实体类
** 作  者：
**	email:lixx2048@163.com
**  wechat:lixiang6153
**  QQ:941415509
** 日  期：
**	2024/03/15	14:00:00
** 说  明：
**	无
** 版  本：
**	2024/03/15	14:00:00		1.0		lixx2048@163.com
/************************************************************************/
#pragma once
#include <string>
#include <memory>
#include "../util/DateTime.h"

class AlarmInfo
{
public:
	AlarmInfo();
	virtual ~AlarmInfo();

public:
	std::string GetId();
	void SetId(std::string);

	std::string GetDeviceId();
	void SetDeviceId(std::string);

	std::string GetDeviceName();
	void SetDeviceName(std::string);

	std::string GetAlarmType();
	void SetAlarmType(std::string);

	std::string GetAlarmInfo();
	void SetAlarmInfo(std::string);

	int GetCount();
	void SetCount(int);

	DateTime GetAlarmTime();
	void SetAlarmTime(DateTime);

	int GetUpload();
	void SetUpload(int);

	DateTime GetUploadTime();
	void SetUploadTime(DateTime&);

	int GetUploadCount();
	void SetUploadCount(int);

	std::string GetImagePath();
	void SetImagePath(std::string);

	std::string GetImageUrl();
	void SetImageUrl(std::string);

	int GetUploadRecord();
	void SetUploadRecord(int);

	std::string GetRecordPath();
	void SetRecordPath(std::string);

	std::string GetRecordUrl();
	void SetRecordUrl(std::string);

protected:
	// 记录编码
	std::string m_id = "";
	// 设备编码
	std::string m_deviceId = "";
	// 设备名称
	std::string m_deviceName = "";
	// 报警类型
	std::string m_alarmType = "";
	// 报警信息
	std::string m_alarmInfo = "";
	// 报警数量
	int m_count = 0;
	// 报警时间
	DateTime m_alarmTime = DateTime::Now();
	// 上传状态
	int m_upload = 0;
	// 上传时间
	DateTime m_uploadTime;
	// 上传次数
	int m_uploadCount = 0;
	// 图片路径
	std::string m_imagePath = "";
	// 图片地址
	std::string m_imageUrl = "";
	// 录像上传状态
	int m_uploadRecord = 0;
	// 录像路径
	std::string m_recordPath = "";
	// 录像地址
	std::string m_recordUrl = "";
};

typedef std::shared_ptr<AlarmInfo> AlarmInfoPtr;